Stand-alone electronic cash registers including payment card readers and receipt printers have been used for years in stores, retail outlets and service outlets to facilitate the completion of cash, cheque, credit card or debit card transactions for the purchase of goods and/or services. With the advent of sophisticated and inexpensive computing equipment, input devices and secure communication networks, point-of-sale (POS) stations have become an increasingly popular alternative.
POS stations typically include a host device and a plurality of interchangeable peripherals connected to the host device. The host device and peripherals are easily integrated allowing the configuration of POS stations to be modified to meet changing needs. This has been another factor leading to their widespread acceptance. The host device is commonly in the form of a personal computer. The peripherals often include a keyboard, a display screen, a cash drawer, a printing device, a payment card reader and a barcode reader. In some cases, a touch-sensitive display screen is used instead of separate keyboard and display screen peripherals.
As is well known, the host device communicates with the peripherals and executes software to allow product and/or service transactions to be completed. When payment is effected using a debit or credit card, the host device establishes a connection to the appropriate financial institution over an information network so that approval for the transaction may be obtained. Upon completion of any transaction, the host device signals the printing device causing the printing device to generate a transaction receipt and a possibly signing receipt, if payment is made using a credit card.
In larger stores, retail outlets and service outlets, POS stations are typically linked via a local area network and communicate with a backend computing device that maintains a database for transaction, inventory, accounting, sales, tax, etc. information. Transaction data received by each of the POS stations is conveyed to the backend computing device for storage in the database allowing all transaction data to be stored in a common location. Collectively storing all transaction data in one common location allows retailers to track, account for and maintain inventory, collected taxes and pricing information. Also, by linking the POS stations, updates relating to sales on products and/or services, tax, etc. can be communicated to each POS station over the local area network avoiding the need to update the POS stations one at a time.
Printing devices commonly used in POS stations comprise a printer having a slot for receiving a separate printer interface that controls communications between the host device and the printer. The printer interface is primarily selected based on the communication protocol used by the host device thereby to ensure hardware compatibility between the host device and the printer. For example, hardware compatibility may be achieved by installing a serial, parallel, Ethernet or USB interface. As the printer interface can be readily changed, the printer is not limited for use with any particular communication protocol but rather can be used in many different communication protocol environments simply by replacing the printer interface. The printer interface may also be selected to enhance functionality of the printer such as by adding supplemental fonts or by emulating one or more other printer models.
The printer interface and the printer are typically preloaded with firmware although the printing device may receive updated printer firmware from the host device to replace or patch the existing printer firmware. The printer firmware stored in the printer interface is in turn conveyed to the printer for storage therein. The printer firmware typically includes a boot file, a main firmware file and one or more font files. The boot file is executed by the printer during initialization to place the printer into a ready operating state. The main firmware and font files are executed during normal operation of the printer to allow the printer to respond to print commands received from the host device via the printer interface so that appropriate transaction receipts can be printed. A font encompasses a specific set of characters that are designed to have a certain look or style. The font file typically contains glyph or shape data for each character in the font file character sets.
In many instances it is desired to update the printer firmware stored in the printer to allow the printing device to print receipts in different formats and/or languages, to support additional functionality and/or to enhance printer performance. For instance, a customer from a particular locale may be more comfortable reading a receipt with one or more characters in the customer's language localized according to the customer's locale. In order to achieve this, it is known to store an entire localized font file containing mostly the standard language characters and select modified characters on the printing device, and to access all characters for the receipt from the localized font file. However, the printing device must have enough memory to store the additional localized font file, or replace the original font file effectively limiting receipt printing to localized characters. Furthermore, due to font file sizes, it can be time consuming to download an entire font file.
The same disadvantages accrue when errors are discovered in one or more characters of a font, because known methods involve replacing the font file containing the errors with a complete, corrected font file.
As a result, a number of techniques for managing multiple fonts in a printing device have been considered. For example, U.S. Pat. No. 4,353,653 to Zimmerman discloses a printer subsystem for storing a large number of compressed font files that is intended to increase the number of fonts available to a user and increase font use flexibility by enabling rapid switch-over between fonts. The printer is loaded with a base font image set that can be replaced by other font images. At column 36 and FIG. 58, Zimmerman discloses storage of fonts and font reference data in groups of tables. The tables include a Multinational Master Table for storing multiple character images, a Major Country Table for storing changes to the Multinational Master Table, and a Modification to Master Table for storing moves of characters in the master table from one location to another. A register stores bits for signalling whether the Multinational master table is to be overlaid with a major country entry or a modification country entry. Zimmerman shows an example of loading a font from a different country into RAM for use by the printer in response to receipt of a control sequence.
U.S. Patent Application Publication No. 2002/0099867 to Wilkinson et al. discloses a portable operating environment for information devices. A primary character subset, along with characters from secondary subsets are defined (font extensions) for localization purposes (see paragraphs [0084] to [0087]). A font extension may be linked to several font instances, and loaded on demand.
Although the above references describe multiple-font management methods, as will be appreciated, they merely enable a print device to effectively extend a font's character set. As a result, a host device must be aware of the characters available in a particular extension font and specify the correct font in print command sequences. The references do not address the problem of correcting or localizing characters in an existing font.
It is therefore an object of the invention to provide a novel method of managing multiple fonts in a printing device, and a system implementing the method.